/**
 * <copyright>
 * </copyright>
 *
 * $Id$
 */
package org.germinus.telcoblocks.util;

import java.util.List;

import org.eclipse.emf.ecore.EClass;
import org.eclipse.emf.ecore.EObject;

import org.germinus.telcoblocks.*;

/**
 * <!-- begin-user-doc -->
 * The <b>Switch</b> for the model's inheritance hierarchy.
 * It supports the call {@link #doSwitch(EObject) doSwitch(object)}
 * to invoke the <code>caseXXX</code> method for each class of the model,
 * starting with the actual class of the object
 * and proceeding up the inheritance hierarchy
 * until a non-null result is returned,
 * which is the result of the switch.
 * <!-- end-user-doc -->
 * @see org.germinus.telcoblocks.TelcoblocksPackage
 * @generated
 */
public class TelcoblocksSwitch<T> {
	/**
	 * The cached model package
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected static TelcoblocksPackage modelPackage;

	/**
	 * Creates an instance of the switch.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public TelcoblocksSwitch() {
		if (modelPackage == null) {
			modelPackage = TelcoblocksPackage.eINSTANCE;
		}
	}

	/**
	 * Calls <code>caseXXX</code> for each class of the model until one returns a non null result; it yields that result.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return the first non-null result returned by a <code>caseXXX</code> call.
	 * @generated
	 */
	public T doSwitch(EObject theEObject) {
		return doSwitch(theEObject.eClass(), theEObject);
	}

	/**
	 * Calls <code>caseXXX</code> for each class of the model until one returns a non null result; it yields that result.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return the first non-null result returned by a <code>caseXXX</code> call.
	 * @generated
	 */
	protected T doSwitch(EClass theEClass, EObject theEObject) {
		if (theEClass.eContainer() == modelPackage) {
			return doSwitch(theEClass.getClassifierID(), theEObject);
		}
		else {
			List<EClass> eSuperTypes = theEClass.getESuperTypes();
			return
				eSuperTypes.isEmpty() ?
					defaultCase(theEObject) :
					doSwitch(eSuperTypes.get(0), theEObject);
		}
	}

	/**
	 * Calls <code>caseXXX</code> for each class of the model until one returns a non null result; it yields that result.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return the first non-null result returned by a <code>caseXXX</code> call.
	 * @generated
	 */
	protected T doSwitch(int classifierID, EObject theEObject) {
		switch (classifierID) {
			case TelcoblocksPackage.NODO: {
				Nodo nodo = (Nodo)theEObject;
				T result = caseNodo(nodo);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case TelcoblocksPackage.ENLACE: {
				Enlace enlace = (Enlace)theEObject;
				T result = caseEnlace(enlace);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case TelcoblocksPackage.RED: {
				RED red = (RED)theEObject;
				T result = caseRED(red);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case TelcoblocksPackage.NODO_RED: {
				NodoRED nodoRED = (NodoRED)theEObject;
				T result = caseNodoRED(nodoRED);
				if (result == null) result = caseNodo(nodoRED);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case TelcoblocksPackage.TERMINAL: {
				Terminal terminal = (Terminal)theEObject;
				T result = caseTerminal(terminal);
				if (result == null) result = caseNodoRED(terminal);
				if (result == null) result = caseNodo(terminal);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case TelcoblocksPackage.TELEFONO_VOIP: {
				Telefono_VOIP telefono_VOIP = (Telefono_VOIP)theEObject;
				T result = caseTelefono_VOIP(telefono_VOIP);
				if (result == null) result = caseTerminal(telefono_VOIP);
				if (result == null) result = caseNodoRED(telefono_VOIP);
				if (result == null) result = caseNodo(telefono_VOIP);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case TelcoblocksPackage.SOFT_PHONE_VOIP: {
				SoftPhone_VOIP softPhone_VOIP = (SoftPhone_VOIP)theEObject;
				T result = caseSoftPhone_VOIP(softPhone_VOIP);
				if (result == null) result = caseTerminal(softPhone_VOIP);
				if (result == null) result = caseNodoRED(softPhone_VOIP);
				if (result == null) result = caseNodo(softPhone_VOIP);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case TelcoblocksPackage.SERVIDOR: {
				Servidor servidor = (Servidor)theEObject;
				T result = caseServidor(servidor);
				if (result == null) result = caseNodoRED(servidor);
				if (result == null) result = caseNodo(servidor);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case TelcoblocksPackage.SERVIDOR_APP_SIP: {
				Servidor_APP_SIP servidor_APP_SIP = (Servidor_APP_SIP)theEObject;
				T result = caseServidor_APP_SIP(servidor_APP_SIP);
				if (result == null) result = caseServidor(servidor_APP_SIP);
				if (result == null) result = caseNodoRED(servidor_APP_SIP);
				if (result == null) result = caseNodo(servidor_APP_SIP);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case TelcoblocksPackage.SERVIDOR_VOIP: {
				Servidor_VOIP servidor_VOIP = (Servidor_VOIP)theEObject;
				T result = caseServidor_VOIP(servidor_VOIP);
				if (result == null) result = caseServidor(servidor_VOIP);
				if (result == null) result = caseNodoRED(servidor_VOIP);
				if (result == null) result = caseNodo(servidor_VOIP);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case TelcoblocksPackage.CENTRALITA_VOIP: {
				Centralita_VOIP centralita_VOIP = (Centralita_VOIP)theEObject;
				T result = caseCentralita_VOIP(centralita_VOIP);
				if (result == null) result = caseServidor(centralita_VOIP);
				if (result == null) result = caseNodoRED(centralita_VOIP);
				if (result == null) result = caseNodo(centralita_VOIP);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case TelcoblocksPackage.MEDIA_SERVER: {
				MediaServer mediaServer = (MediaServer)theEObject;
				T result = caseMediaServer(mediaServer);
				if (result == null) result = caseServidor(mediaServer);
				if (result == null) result = caseNodoRED(mediaServer);
				if (result == null) result = caseNodo(mediaServer);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case TelcoblocksPackage.SERVICIOS: {
				SERVICIOS servicios = (SERVICIOS)theEObject;
				T result = caseSERVICIOS(servicios);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case TelcoblocksPackage.NODO_SERVICIOS: {
				NodoSERVICIOS nodoSERVICIOS = (NodoSERVICIOS)theEObject;
				T result = caseNodoSERVICIOS(nodoSERVICIOS);
				if (result == null) result = caseNodo(nodoSERVICIOS);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case TelcoblocksPackage.EVENTO: {
				Evento evento = (Evento)theEObject;
				T result = caseEvento(evento);
				if (result == null) result = caseNodoSERVICIOS(evento);
				if (result == null) result = caseNodo(evento);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case TelcoblocksPackage.IM: {
				IM im = (IM)theEObject;
				T result = caseIM(im);
				if (result == null) result = caseEvento(im);
				if (result == null) result = caseNodoSERVICIOS(im);
				if (result == null) result = caseNodo(im);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case TelcoblocksPackage.TELEFONO: {
				Telefono telefono = (Telefono)theEObject;
				T result = caseTelefono(telefono);
				if (result == null) result = caseEvento(telefono);
				if (result == null) result = caseNodoSERVICIOS(telefono);
				if (result == null) result = caseNodo(telefono);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case TelcoblocksPackage.WEB: {
				Web web = (Web)theEObject;
				T result = caseWeb(web);
				if (result == null) result = caseEvento(web);
				if (result == null) result = caseNodoSERVICIOS(web);
				if (result == null) result = caseNodo(web);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case TelcoblocksPackage.SERVICIO: {
				Servicio servicio = (Servicio)theEObject;
				T result = caseServicio(servicio);
				if (result == null) result = caseNodoSERVICIOS(servicio);
				if (result == null) result = caseNodo(servicio);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case TelcoblocksPackage.SERVICIO_GEN: {
				ServicioGen servicioGen = (ServicioGen)theEObject;
				T result = caseServicioGen(servicioGen);
				if (result == null) result = caseServicio(servicioGen);
				if (result == null) result = caseNodoSERVICIOS(servicioGen);
				if (result == null) result = caseNodo(servicioGen);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case TelcoblocksPackage.LLAMADAS: {
				Llamadas llamadas = (Llamadas)theEObject;
				T result = caseLlamadas(llamadas);
				if (result == null) result = caseServicio(llamadas);
				if (result == null) result = caseNodoSERVICIOS(llamadas);
				if (result == null) result = caseNodo(llamadas);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case TelcoblocksPackage.CLICK_TO_DIAL: {
				ClickToDial clickToDial = (ClickToDial)theEObject;
				T result = caseClickToDial(clickToDial);
				if (result == null) result = caseServicio(clickToDial);
				if (result == null) result = caseNodoSERVICIOS(clickToDial);
				if (result == null) result = caseNodo(clickToDial);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case TelcoblocksPackage.PERSONALIZACION: {
				Personalizacion personalizacion = (Personalizacion)theEObject;
				T result = casePersonalizacion(personalizacion);
				if (result == null) result = caseServicio(personalizacion);
				if (result == null) result = caseNodoSERVICIOS(personalizacion);
				if (result == null) result = caseNodo(personalizacion);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case TelcoblocksPackage.BC: {
				BC bc = (BC)theEObject;
				T result = caseBC(bc);
				if (result == null) result = caseNodoSERVICIOS(bc);
				if (result == null) result = caseNodo(bc);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case TelcoblocksPackage.FACTURACION: {
				Facturacion facturacion = (Facturacion)theEObject;
				T result = caseFacturacion(facturacion);
				if (result == null) result = caseBC(facturacion);
				if (result == null) result = caseNodoSERVICIOS(facturacion);
				if (result == null) result = caseNodo(facturacion);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case TelcoblocksPackage.ANUNCIOS: {
				Anuncios anuncios = (Anuncios)theEObject;
				T result = caseAnuncios(anuncios);
				if (result == null) result = caseBC(anuncios);
				if (result == null) result = caseNodoSERVICIOS(anuncios);
				if (result == null) result = caseNodo(anuncios);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case TelcoblocksPackage.DESVIO: {
				Desvio desvio = (Desvio)theEObject;
				T result = caseDesvio(desvio);
				if (result == null) result = caseBC(desvio);
				if (result == null) result = caseNodoSERVICIOS(desvio);
				if (result == null) result = caseNodo(desvio);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			default: return defaultCase(theEObject);
		}
	}

	/**
	 * Returns the result of interpreting the object as an instance of '<em>Nodo</em>'.
	 * <!-- begin-user-doc -->
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 * <!-- end-user-doc -->
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of '<em>Nodo</em>'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T caseNodo(Nodo object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of '<em>Enlace</em>'.
	 * <!-- begin-user-doc -->
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 * <!-- end-user-doc -->
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of '<em>Enlace</em>'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T caseEnlace(Enlace object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of '<em>RED</em>'.
	 * <!-- begin-user-doc -->
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 * <!-- end-user-doc -->
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of '<em>RED</em>'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T caseRED(RED object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of '<em>Nodo RED</em>'.
	 * <!-- begin-user-doc -->
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 * <!-- end-user-doc -->
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of '<em>Nodo RED</em>'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T caseNodoRED(NodoRED object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of '<em>Terminal</em>'.
	 * <!-- begin-user-doc -->
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 * <!-- end-user-doc -->
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of '<em>Terminal</em>'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T caseTerminal(Terminal object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of '<em>Telefono VOIP</em>'.
	 * <!-- begin-user-doc -->
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 * <!-- end-user-doc -->
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of '<em>Telefono VOIP</em>'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T caseTelefono_VOIP(Telefono_VOIP object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of '<em>Soft Phone VOIP</em>'.
	 * <!-- begin-user-doc -->
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 * <!-- end-user-doc -->
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of '<em>Soft Phone VOIP</em>'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T caseSoftPhone_VOIP(SoftPhone_VOIP object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of '<em>Servidor</em>'.
	 * <!-- begin-user-doc -->
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 * <!-- end-user-doc -->
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of '<em>Servidor</em>'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T caseServidor(Servidor object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of '<em>Servidor APP SIP</em>'.
	 * <!-- begin-user-doc -->
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 * <!-- end-user-doc -->
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of '<em>Servidor APP SIP</em>'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T caseServidor_APP_SIP(Servidor_APP_SIP object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of '<em>Servidor VOIP</em>'.
	 * <!-- begin-user-doc -->
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 * <!-- end-user-doc -->
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of '<em>Servidor VOIP</em>'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T caseServidor_VOIP(Servidor_VOIP object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of '<em>Centralita VOIP</em>'.
	 * <!-- begin-user-doc -->
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 * <!-- end-user-doc -->
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of '<em>Centralita VOIP</em>'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T caseCentralita_VOIP(Centralita_VOIP object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of '<em>Media Server</em>'.
	 * <!-- begin-user-doc -->
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 * <!-- end-user-doc -->
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of '<em>Media Server</em>'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T caseMediaServer(MediaServer object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of '<em>SERVICIOS</em>'.
	 * <!-- begin-user-doc -->
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 * <!-- end-user-doc -->
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of '<em>SERVICIOS</em>'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T caseSERVICIOS(SERVICIOS object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of '<em>Nodo SERVICIOS</em>'.
	 * <!-- begin-user-doc -->
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 * <!-- end-user-doc -->
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of '<em>Nodo SERVICIOS</em>'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T caseNodoSERVICIOS(NodoSERVICIOS object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of '<em>Evento</em>'.
	 * <!-- begin-user-doc -->
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 * <!-- end-user-doc -->
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of '<em>Evento</em>'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T caseEvento(Evento object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of '<em>IM</em>'.
	 * <!-- begin-user-doc -->
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 * <!-- end-user-doc -->
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of '<em>IM</em>'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T caseIM(IM object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of '<em>Telefono</em>'.
	 * <!-- begin-user-doc -->
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 * <!-- end-user-doc -->
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of '<em>Telefono</em>'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T caseTelefono(Telefono object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of '<em>Web</em>'.
	 * <!-- begin-user-doc -->
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 * <!-- end-user-doc -->
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of '<em>Web</em>'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T caseWeb(Web object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of '<em>Servicio</em>'.
	 * <!-- begin-user-doc -->
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 * <!-- end-user-doc -->
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of '<em>Servicio</em>'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T caseServicio(Servicio object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of '<em>Servicio Gen</em>'.
	 * <!-- begin-user-doc -->
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 * <!-- end-user-doc -->
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of '<em>Servicio Gen</em>'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T caseServicioGen(ServicioGen object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of '<em>Llamadas</em>'.
	 * <!-- begin-user-doc -->
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 * <!-- end-user-doc -->
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of '<em>Llamadas</em>'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T caseLlamadas(Llamadas object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of '<em>Click To Dial</em>'.
	 * <!-- begin-user-doc -->
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 * <!-- end-user-doc -->
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of '<em>Click To Dial</em>'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T caseClickToDial(ClickToDial object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of '<em>Personalizacion</em>'.
	 * <!-- begin-user-doc -->
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 * <!-- end-user-doc -->
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of '<em>Personalizacion</em>'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T casePersonalizacion(Personalizacion object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of '<em>BC</em>'.
	 * <!-- begin-user-doc -->
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 * <!-- end-user-doc -->
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of '<em>BC</em>'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T caseBC(BC object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of '<em>Facturacion</em>'.
	 * <!-- begin-user-doc -->
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 * <!-- end-user-doc -->
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of '<em>Facturacion</em>'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T caseFacturacion(Facturacion object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of '<em>Anuncios</em>'.
	 * <!-- begin-user-doc -->
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 * <!-- end-user-doc -->
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of '<em>Anuncios</em>'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T caseAnuncios(Anuncios object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of '<em>Desvio</em>'.
	 * <!-- begin-user-doc -->
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 * <!-- end-user-doc -->
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of '<em>Desvio</em>'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T caseDesvio(Desvio object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of '<em>EObject</em>'.
	 * <!-- begin-user-doc -->
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch, but this is the last case anyway.
	 * <!-- end-user-doc -->
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of '<em>EObject</em>'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject)
	 * @generated
	 */
	public T defaultCase(EObject object) {
		return null;
	}

} //TelcoblocksSwitch
